#ifndef __STAMINA__H__
#define __STAMINA__H__

#include "Utility/MaskedVar.h"

class CStamina
{
private:
	TMaskedFloat m_stamina;
	float m_staminaMax;
	TMaskedInt m_staminaAsRoundedPercentage;

	TMaskedFloat m_staminaRegenAmount;
	TMaskedFloat m_staminaUsageAmount;


public:
	CStamina() : m_stamina(50.0f), m_staminaMax(100.0f), m_staminaAsRoundedPercentage(100), m_staminaRegenAmount(3.0f), m_staminaUsageAmount(10.0f) {}

	ILINE float GetStamina() const { return m_stamina; }
	ILINE void  SetStamina( float fStamina ) 
	{
		m_stamina = fStamina;
		m_staminaAsRoundedPercentage = int_ceil( m_stamina * 100.0f / m_staminaMax); 
	}
	ILINE float GetStaminaMax() const { return m_staminaMax; }
	ILINE void  SetStaminaMax( float fStaminaMax ) { m_staminaMax = fStaminaMax; }
	ILINE int   GetStaminaAsRoundedPercentage() const { return m_staminaAsRoundedPercentage; }

	ILINE float GetStaminaRegenAmount() const { return m_staminaRegenAmount; };
	ILINE void	SetStaminaRegenAmount( float fStaminaRegenAmount ) { m_staminaRegenAmount = fStaminaRegenAmount; }

	ILINE float GetStaminaUsageAmount() const { return m_staminaUsageAmount; };
	ILINE void	SetStaminaUsageAmount( float fStaminaUsageAmount ) { m_staminaUsageAmount = fStaminaUsageAmount; }


};

#endif